package demo1;

public class Test {

    //集合类所在的包  java.util  这个包底下
    //java集合框架 是定义在util包底下的一组接口和类

    //怎么评价一个代码的效率高不高
    //时间效率  ---》时间复杂度  （需要的时间） 大O渐近表示法
    //空间效率 ----》空间复杂度  （需要的内存）

    //优先考虑时间效率--》处理速度

    //去数量级最大的保留，其他的不要了
    //不需要精确次数，只需要大概执行次数


    //最好时间复杂度
    //平均时间复杂度
    //最坏时间复杂度

    //在实际中一般情况关注的是算法的最坏运行情况

    //递归  ---》递归的次数 * 每次递归后代码的执行次数

    public static void main1(String[] args) {
        int a = 10;
        //隐式装箱
        Integer val = a;
        //自动装箱---》编译器自动帮助我们调用valueof方法
        //显示装箱
        Integer val2 = Integer.valueOf(a);
        Integer val3 = new Integer(a);
        System.out.println(val);
    }

    public static void main2(String[] args) {
        //拆箱  --》
        Integer integer1 = new Integer(10);
        //自动拆箱 （隐式装箱
        int b = integer1;
        //显示拆箱
        int a = integer1.intValue();
        //可以运行，而且变成了一个double类型
        double d = integer1.doubleValue();
        System.out.println(d);
    }

}

//包装类  基本类型不是继承自object ，为了在泛型代码当中支持基本数据类型，提供了包装类
//基本数据类型对应的类类型---》包装类

//装箱---》装包  把基本数据类型变为对应的包装类型
//拆箱---》拆包  把包装类变成基本数据类型


